1. Field of the Invention
The present invention relates to computer subsystem communications, and, more particularly, to a method and apparatus for coupling a Fibre Channel controller with more than one host computer system, storage router, or the like.
2. Description of the Related Art
Modern computers often include a number of different subsystems, each performing one or more functions necessary to the computer's operation. For example, computers normally include storage subsystems for storing operating system programs, application programs and data, and the like. As computers' processing capabilities have increased, the need for increasingly sophisticated, scalable and flexible access to these storage subsystems has become an important issue.
This need has led to the development of what is commonly referred to as a ‘Storage Area Network’ (SAN). Within a SAN, host computers provide access to arrays of storage devices that can be either local or remotely located, and can be either centralized in one location or distributed over many. This architectural variability and the complexity of such storage subsystems mandates that the host computers be coupled to devices that can route requests to the storage devices and make their actual configuration transparent to the end-user (i.e. ‘storage routers’). This added layer between the end-user and data stored on the storage devices de-couples the end-user from the SAN's architecture.
Historically, host systems have been connected to storage devices using storage routers that are dedicated to mapping the storage devices' location and configuration and providing transparent access to the end-user. While the host system is generally neither aware of nor dependent upon having such information, such access should be provided in a reliable and immediate fashion. The storage routers ensure such functionality by mapping the architecture of the storage devices, storing this information and subsequently providing for ready access by the host system. To ensure reliability, redundant access is often supported, employing multiple routing devices. Also, in order to make such an arrangement scalable across geographic locations, the routing devices must themselves be interconnected by a more conventional device such as an hub.
The aforementioned configuration is not without problems. Specifically, the necessity of coupling hubs to the storage routers complicates the implementation of a SAN. First, such an architecture impacts the ability of users to flexibly scale the SAN. External hubs are produced with a relatively large number of ports so that architectures employing such hubs can be readily expanded without the need for additional external hubs. For example, external hubs normally provide a minimum of eight ports. If an installation requires fewer ports, or if growth is patterned in such a way that multiples other than eight are desirable, an unavoidable waste of capacity (in terms of ports) results. Second, cost is increased because no matter how small the installation, more than one external hub is required to provide the necessary connectivity. Third, compatibility issues are raised by the introduction of external hubs into the SAN architecture. This is the case any time the products of third-party vendors must be installed in a network's architecture. The installation and subsequent maintenance of such a system is also further complicated, due at least in part to the need to support the products of multiple vendors. Finally, as more devices are employed in the SAN's architecture, the more likely it is that one device will perform poorly relative to the remaining devices and so create a bottleneck in the SAN's throughput.
It is therefore desirable to introduce greater simplicity into the hardware used to communicate between a host system and storage array, while meeting the prerequisites of redundancy and reliability. Preferably, such an architecture also provides improved performance and reduces the SAN's overall cost.